
package br.com.pacotesecundario;

import br.com.interfaces.IContasBancarias;

/**
 *Classe contas bancarias
 *  responsavel por referenciar os atributos das contas bancarias
 * @author Felipe
 */
public class ContasBancarias implements IContasBancarias {
    int codigo,numero;
    long saldo;
    String agencia;
     /**
      * Construtor da classe conta bancaria
      *  defini os atributos essenciais para criaçao dos obejetos da classe
      * @param codigo:codigo da conta
      * @param numero:numero da conta 
      */
    public ContasBancarias(int codigo,int numero,String agencia){
        this.codigo=codigo;
        this.numero=numero;
        this.saldo=0;
        this.agencia=agencia;
    }
    
    @Override
    public void setNumero(int numero){
        this.numero=numero;
    }
    
    
    @Override
    public void setCodigo(int codigo){
        this.codigo=codigo;
    }
   
    
    @Override
    public int getCodigo(){
        return this.codigo;
    }
    
    
    @Override
    public int getNumero(){
        return this.numero;
    }
    
   
    @Override
    public double getSaldo(){
        return this.saldo;
    }
    
    
    
    @Override
    public String toString(){
        String retorno="Codigo: "+this.codigo+" numero:"+this.numero+" Agencia:"+this.agencia+" Saldo:"+this.saldo;
        return retorno;
    }
    
   
   
    @Override
    public void sacar(long valor){
        if(valor <= this.saldo){
          this.saldo-=valor;
          System.out.println(" Transação efetuada com sucesso!");
    }
        else{
            
            System.out.println(" Você nao possui saldo suficiente para essa transação!");
        }
    }
    @Override
    public String getAgencia(){
        return this.agencia;
    }
    
   
    @Override
    public void depositar(long valor){
        this.saldo+=valor;
        System.out.println(" Transação efetuada com sucesso!");
    }
}
